From: Jonas Dreßler Date: Sun, 23 Jun 2019 09:52:54 +0000 (+0200) Subject: polkitAgent: Update user name on user changes X-Git-Tag: archive/raspbian/50.5-1+rpi1~1^2~781^2^2~465 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/%22/%22http:/www.example.com/cgi/%22?a=commitdiff_plain;h=f546715cc34ce618f163b7d1ca54858b0206e96f;p=gnome-shell.git polkitAgent: Update user name on user changes Right now we only update the user avatar on the user-changed signal, but since we also display the users real name we should also update that if the user changes. https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/788 --- diff --git a/js/ui/components/polkitAgent.js b/js/ui/components/polkitAgent.js index 03eaf7152..6c519a647 100644 --- a/js/ui/components/polkitAgent.js +++ b/js/ui/components/polkitAgent.js @@ -51,41 +51,37 @@ var AuthenticationDialog = GObject.registerClass({ userName = userNames[0]; this._user = AccountsService.UserManager.get_default().get_user(userName); - let userRealName = this._user.get_real_name(); + + let userBox = new St.BoxLayout({ + style_class: 'polkit-dialog-user-layout', + vertical: false, + }); + content.messageBox.add(userBox); + + this._userAvatar = new UserWidget.Avatar(this._user, { + iconSize: DIALOG_ICON_SIZE, + styleClass: 'polkit-dialog-user-icon', + }); + this._userAvatar.hide(); + userBox.add_child(this._userAvatar); + + this._userLabel = new St.Label({ + style_class: userName === 'root' + ? 'polkit-dialog-user-root-label' + : 'polkit-dialog-user-label', + x_expand: true, + y_align: Clutter.ActorAlign.CENTER, + }); + + if (userName === 'root') + this._userLabel.text = _('Administrator'); + + userBox.add_child(this._userLabel); + this._userLoadedId = this._user.connect('notify::is-loaded', this._onUserChanged.bind(this)); this._userChangedId = this._user.connect('changed', this._onUserChanged.bind(this)); - - // Special case 'root' - let userIsRoot = false; - if (userName == 'root') { - userIsRoot = true; - userRealName = _("Administrator"); - } - - if (userIsRoot) { - let userLabel = new St.Label(({ style_class: 'polkit-dialog-user-root-label', - text: userRealName })); - content.messageBox.add_child(userLabel); - } else { - let userBox = new St.BoxLayout({ style_class: 'polkit-dialog-user-layout', - vertical: false }); - content.messageBox.add(userBox); - this._userAvatar = new UserWidget.Avatar(this._user, - { iconSize: DIALOG_ICON_SIZE, - styleClass: 'polkit-dialog-user-icon' }); - this._userAvatar.hide(); - userBox.add_child(this._userAvatar); - let userLabel = new St.Label(({ - style_class: 'polkit-dialog-user-label', - text: userRealName, - x_expand: true, - y_align: Clutter.ActorAlign.CENTER, - })); - userBox.add_child(userLabel); - } - this._onUserChanged(); this._passwordBox = new St.BoxLayout({ vertical: false, style_class: 'prompt-dialog-password-box' }); @@ -303,7 +299,15 @@ var AuthenticationDialog = GObject.registerClass({ } _onUserChanged() { - if (this._user.is_loaded && this._userAvatar) { + if (!this._user.is_loaded) + return; + + let userName = this._user.get_user_name(); + let realName = this._user.get_real_name(); + + if (userName !== 'root') { + this._userLabel.set_text(realName); + this._userAvatar.update(); this._userAvatar.show(); }